Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2014, 17:47
Интересующийся
Отправить личное сообщение для Demidoff Посмотреть профиль Найти все сообщения от Demidoff
 
Регистрация: 29.11.2013
Сообщений: 10

Нужна помощь.
<script>
function openBlock(el) {
var kids = el.parentNode.childNodes;
for (var k = 0; k < kids.length; k++) {
var child = kids[k];
if (child && child.className == "this_block_is_hidden" || child && child.className == "this_block_is_hidden-1" || child && child.className == "this_block_is_hidden-2" {
if (child.style.display != 'block') {
child.style.display = 'block';
} else {
child.style.display = 'none';
}
}
}
}
</script>

как сделать, что бы плавно открывался? Помоги те плиз. Уже 2 день мучаюсь...
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2014, 18:43
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

У .style.display нет промежуточных состояний. Блок либо показывается, либо не показывается.
Что должно быть посредине анимации? Если полупрозрачность, то используйте opacity, например.
Если планируется, что блок будет выезжать сверху - top
Если планируется, что блок будет разжиматься - height
...
в общем, надо вам определиться, что значит "плавно открывался".
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2014, 19:34
Интересующийся
Отправить личное сообщение для Demidoff Посмотреть профиль Найти все сообщения от Demidoff
 
Регистрация: 29.11.2013
Сообщений: 10

у меня вот такая штука получилась...
<script>
function openBlock(el) {
var kids = el.parentNode.childNodes;
for (var k = 0; k < kids.length; k++) {
var child = kids[k];
if (child && child.className == "this_block_is_hidden" || child && child.className == "this_block_is_hidden-1" || child && child.className == "this_block_is_hidden-2") {
if (child.style.display != 'block') {
openBlock_open(child, 1);
child.style.display = 'block';
child.style.height = '1px';
} else {
openBlock_close(child, 20); // <-- МАКС. ВЫСОТА БЛОКА
child.style.height = '20px'; // <-- МАКС. ВЫСОТА БЛОКА
}

}
}
}
function openBlock_open(el, height) {
height += 1;
el.style.height = height + 'px';
if (height<20) { // <-- ДО КАКОЙ ВЫСОТЫ РАСКРЫВАТЬСЯ
setTimeout(function(){ openBlock_open(el, height); }, 10); // 10 - СКОРОСТЬ РАСКРЫТИЯ
}
}
function openBlock_close(el, height) {
height -= 1;
el.style.height = height + 'px';
if (height>1) {
setTimeout(function(){ openBlock_close(el, height); }, 10); // 10 - СКОРОСТЬ ЗАКРЫТИЯ
} else {
el.style.display = 'none';
}

</script>

а все равно не работает... помогите плиз кто чем может...
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2014, 00:43
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Demidoff
помогите плиз кто чем может..
сделайте код вместе с разметкой в песочнице, а сюда ссылку
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2014, 14:58
Интересующийся
Отправить личное сообщение для Demidoff Посмотреть профиль Найти все сообщения от Demidoff
 
Регистрация: 29.11.2013
Сообщений: 10

спасибо помогли... ладно не парьтесь, сам разберусь. Но все равно спасибо за участие...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17